Universal Windows Platform
Universal Windows Platform (UWP) is an API created by Microsoft and first introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile, Xbox One and HoloLens without the need to be re-written for each. It supports Windows app development using C++, C#, VB.NET, and XAML. The API is implemented in C++, and supported in C++, VB.NET, C#, F# and JavaScript. Designed as an extension to the Windows Runtime platform first introduced in Windows Server 2012 and Windows 8, UWP allows developers to create apps that will potentially run on multiple types of devices. Compatibility UWP is a part of Windows 10 and Windows 10 Mobile. UWP apps do not run on earlier Windows versions. Apps that are capable of implementing this platform are natively developed using Visual Studio 2015 or Visual Studio 2017. Older Metro-style apps for Windows 8.1, Windows Phone 8.1 or for both (universal 8.1) need modifications to migrate to UWP. During the 2015 Build keynote, Microsoft announced a collection of UWP "bridges" to allow Android and iOS apps to be ported to Windows 10 Mobile. Windows Bridge for Android (codenamed "Astoria") was a runtime environment that would allow for Android apps written in Java or C++ to run on Windows 10 Mobile and published to Windows Store. Kevin Gallo, technical lead of Windows Developer Platform, explained that the layer contained some limitations: Google Mobile Services and certain core APIs are not available, and apps that have "deep integration into background tasks", such as messaging software, would not run well in this environment. Windows Bridge for iOS (codenamed "Islandwood") is an open-source middleware toolkit that allows iOS apps developed in Objective-C to be ported to Windows 10 Mobile by using Visual Studio 2015 to convert the Xcode project into a Visual Studio project. An early build of Windows Bridge for iOS was released as open-source software under the MIT license on August 6, 2015, while the Android version was in closed beta. In February 2016, Microsoft announced that it had ceased development on Windows Bridge for Android, citing redundancies due to iOS already being a primary platform for multi-platform development, and that Windows Bridge for iOS produced native code and did not require an OS-level emulator. Instead, Microsoft encouraged the use of C# for multi-platform app development using tools from Xamarin, which they had acquired prior to the announcement. Deployment UWP is an extension of the Windows Runtime. Universal Windows apps that are created using the UWP no longer indicate having been written for a specific OS in their manifest build; instead, they target one or more device families, such as a PC, smartphone, tablet, or Xbox One, using Universal Windows Platform Bridges. These extensions allow the app to automatically utilize the capabilities that are available to the particular device it is currently running on. A universal app may run on either a mobile phone or a tablet and provide suitable experiences on each. A universal app running on a smartphone may start behaving the way it would if it were running on a PC when the phone is connected to a desktop computer or a suitable docking station. Reception Games developed for UWP are subject to technical restrictions, including incompatibility with multi-video card setups, difficulties modding the game and using the game with programs such as Fraps, overlays (such as Steam), or key binding managers. During Build 2016, Microsoft Xbox division head Phil Spencer announced that the company was attempting to address issues which would improve the viability of UWP for PC games, stating that Microsoft was "committed to ensuring we meet or exceed the performance expectations of full-screen games as well as the additional features including support for overlays, modding, and more." Support for AMD FreeSync and Nvidia G-Sync technologies, and disabling V-sync, was later added to UWP. Epic Games founder Tim Sweeney criticized UWP for being a walled garden, since by default, UWP software may only be installed via Windows Store, requiring changes in system settings to enable the installation of external software (similarly to Android). Additionally, certain operating system features are exclusive to UWP and cannot be used in non-UWP software such as most video games. Sweeney characterized these moves as "the most aggressive move Microsoft has ever made" in attempting to transform PCs into a closed platform, and felt that these moves were meant to put third-party storefronts such as Steam at a disadvantage as Microsoft is "curtailing users' freedom to install full-featured PC software and subverting the rights of developers and publishers to maintain a direct relationship with their customers". As such, Sweeney argued that end-users should be able to download UWP software and install it in the same manner as non-UWP software. Windows VP Kevin Gallo addressed Sweeney's concerns, stating that "in the Windows 10 November Update, we enabled people to easily side-load apps by default, with no UX required. We want to make Windows the best development platform regardless of technologies used, and offer tools to help developers with existing code bases of HTML/JavaScript, .NET and Win32, C++ and Objective-C bring their code to Windows, and integrate UWP capabilities. With Xamarin, UWP developers can not only reach all Windows 10 devices, but they can now use a large percentage of their C# code to deliver a fully native mobile app experiences for iOS and Android." In a live interview with Giant Bomb during its E3 2016 coverage, Spencer defended the mixed reception of its UWP-exclusive releases, stating that "they all haven't gone swimmingly. Some of them have gone well", and that "there's still definitely concern that UWP and our store are somehow linked in a way that is nefarious. It's not." He also discussed Microsoft's relationships with third-party developers and distributors such as Steam, considering the service to be "a critical part of gaming's success on Windows" and stating that Microsoft planned to continue releasing games through the platform as well as its own, but that "There's going to be areas where we cooperate and there's going to be areas where we compete. The end result is better for gamers." Spencer also stated that he was a friend of Sweeney and had been in frequent contact with him. References External links * Guide to Universal Windows Platform (UWP) apps * * Comparison of UWP, Android, and iOS from a Programmer's point of view Category:.NET Framework Category:Windows APIs Category:Windows technology Category:Xbox One